(set-info :source |fuzzsmt|)
(set-info :smt-lib-version 2.0)
(set-info :category "random")
(set-info :status unknown)
(set-logic QF_UFIDL)
(declare-fun v0 () Int)
(declare-fun v1 () Int)
(declare-fun v2 () Int)
(declare-fun v3 () Int)
(declare-fun f0 ( Int Int Int) Int)
(declare-fun p0 ( Int Int) Bool)
(assert (let ((e4 4))
(let ((e5 (! 0 :named term5)))
(let ((e6 (! 0 :named term6)))
(let ((e7 (! 1 :named term7)))
(let ((e8 (! (> (- v0 v2) (- e5)) :named term8)))
(let ((e9 (! (>= v2 v3) :named term9)))
(let ((e10 (! (> v0 v1) :named term10)))
(let ((e11 (! (<= v3 v0) :named term11)))
(let ((e12 (! (> v0 v1) :named term12)))
(let ((e13 (! (<= (- v0 v1) e7) :named term13)))
(let ((e14 (! (= v0 v2) :named term14)))
(let ((e15 (! (<= (- v1 v2) e4) :named term15)))
(let ((e16 (! (<= v3 v3) :named term16)))
(let ((e17 (! (> v0 v0) :named term17)))
(let ((e18 (! (< (- v1 v0) e4) :named term18)))
(let ((e19 (! (distinct v3 v1) :named term19)))
(let ((e20 (! (> (- v3 v0) e4) :named term20)))
(let ((e21 (! (distinct v3 v0) :named term21)))
(let ((e22 (! (= v0 v1) :named term22)))
(let ((e23 (! (= v2 v1) :named term23)))
(let ((e24 (! (< (- v3 v3) e4) :named term24)))
(let ((e25 (! (distinct v2 v2) :named term25)))
(let ((e26 (! (= (- v2 v1) (- e5)) :named term26)))
(let ((e27 (! (>= (- v1 v2) (- e5)) :named term27)))
(let ((e28 (! (> (- v3 v2) (- e6)) :named term28)))
(let ((e29 (! (> v0 v2) :named term29)))
(let ((e30 (! (>= (- v1 v2) (- e4)) :named term30)))
(let ((e31 (! (>= v1 v3) :named term31)))
(let ((e32 (! (distinct (- v3 v2) e6) :named term32)))
(let ((e33 (! (< (- v2 v0) e4) :named term33)))
(let ((e34 (! (>= (- v2 v1) (- e5)) :named term34)))
(let ((e35 (! (distinct v0 v3) :named term35)))
(let ((e36 (! (> (- v0 v0) (- e7)) :named term36)))
(let ((e37 (! (f0 v0 v2 v3) :named term37)))
(let ((e38 (! (f0 v2 v0 v3) :named term38)))
(let ((e39 (! (f0 v2 v2 v3) :named term39)))
(let ((e40 (! (f0 v3 v0 e38) :named term40)))
(let ((e41 (! (f0 v2 v0 v1) :named term41)))
(let ((e42 (! (f0 v3 e39 e37) :named term42)))
(let ((e43 (! (f0 e42 v2 v3) :named term43)))
(let ((e44 (! (f0 e37 e37 e41) :named term44)))
(let ((e45 (! (f0 v1 v3 e38) :named term45)))
(let ((e46 (! (f0 v0 e40 e43) :named term46)))
(let ((e47 (! (f0 v1 v1 v1) :named term47)))
(let ((e48 (! (= e41 e41) :named term48)))
(let ((e49 (! (p0 e46 v1) :named term49)))
(let ((e50 (! (distinct e41 v1) :named term50)))
(let ((e51 (! (p0 e47 e39) :named term51)))
(let ((e52 (! (p0 e42 e37) :named term52)))
(let ((e53 (! (p0 v0 v2) :named term53)))
(let ((e54 (! (= e46 e47) :named term54)))
(let ((e55 (! (p0 v3 v1) :named term55)))
(let ((e56 (! (p0 v0 e37) :named term56)))
(let ((e57 (! (p0 e39 v2) :named term57)))
(let ((e58 (! (distinct e46 e40) :named term58)))
(let ((e59 (! (= v0 e37) :named term59)))
(let ((e60 (! (p0 e40 e46) :named term60)))
(let ((e61 (! (distinct e42 v2) :named term61)))
(let ((e62 (! (= e47 e47) :named term62)))
(let ((e63 (! (= v0 v1) :named term63)))
(let ((e64 (! (= e43 e44) :named term64)))
(let ((e65 (! (distinct e38 e45) :named term65)))
(let ((e66 (! (p0 e44 e45) :named term66)))
(let ((e67 (! (p0 v3 e46) :named term67)))
(let ((e68 (! (p0 e41 v1) :named term68)))
(let ((e69 (! (distinct e43 e42) :named term69)))
(let ((e70 (! (= v3 e44) :named term70)))
(let ((e71 (! (p0 v1 e45) :named term71)))
(let ((e72 (! (distinct e42 e40) :named term72)))
(let ((e73 (! (= v3 e44) :named term73)))
(let ((e74 (! (= e43 e45) :named term74)))
(let ((e75 (! (p0 e45 e40) :named term75)))
(let ((e76 (! (p0 e40 v2) :named term76)))
(let ((e77 (! (p0 e39 e40) :named term77)))
(let ((e78 (! (distinct e39 e42) :named term78)))
(let ((e79 (! (= e39 e42) :named term79)))
(let ((e80 (! (p0 e39 e42) :named term80)))
(let ((e81 (! (p0 e39 e38) :named term81)))
(let ((e82 (! (p0 v1 e44) :named term82)))
(let ((e83 (! (distinct e47 e47) :named term83)))
(let ((e84 (! (distinct v2 v2) :named term84)))
(let ((e85 (! (= e38 v0) :named term85)))
(let ((e86 (! (p0 e46 v1) :named term86)))
(let ((e87 (! (p0 v2 e47) :named term87)))
(let ((e88 (! (p0 e45 e37) :named term88)))
(let ((e89 (! (p0 e47 e37) :named term89)))
(let ((e90 (! (distinct e38 e43) :named term90)))
(let ((e91 (! (= e43 v0) :named term91)))
(let ((e92 (! (p0 e41 e38) :named term92)))
(let ((e93 (! (p0 e41 v3) :named term93)))
(let ((e94 (! (<= e47 v3) :named term94)))
(let ((e95 (! (>= v0 e40) :named term95)))
(let ((e96 (! (>= e45 e43) :named term96)))
(let ((e97 (! (<= v0 e43) :named term97)))
(let ((e98 (! (>= e39 e45) :named term98)))
(let ((e99 (! (distinct e41 e38) :named term99)))
(let ((e100 (! (<= e47 v0) :named term100)))
(let ((e101 (! (= v0 e38) :named term101)))
(let ((e102 (! (distinct e43 e43) :named term102)))
(let ((e103 (! (distinct e40 v0) :named term103)))
(let ((e104 (! (distinct v1 v1) :named term104)))
(let ((e105 (! (= e43 e46) :named term105)))
(let ((e106 (! (>= e39 e45) :named term106)))
(let ((e107 (! (> e47 v0) :named term107)))
(let ((e108 (! (> e43 e40) :named term108)))
(let ((e109 (! (distinct e44 e44) :named term109)))
(let ((e110 (! (distinct e39 e40) :named term110)))
(let ((e111 (! (>= v0 v3) :named term111)))
(let ((e112 (! (p0 e46 v3) :named term112)))
(let ((e113 (! (>= e45 v2) :named term113)))
(let ((e114 (! (< e39 e46) :named term114)))
(let ((e115 (! (distinct e37 e44) :named term115)))
(let ((e116 (! (>= e46 e46) :named term116)))
(let ((e117 (! (= v1 e47) :named term117)))
(let ((e118 (! (distinct e37 v0) :named term118)))
(let ((e119 (! (<= v3 e37) :named term119)))
(let ((e120 (! (distinct e42 e43) :named term120)))
(let ((e121 (! (p0 e41 v1) :named term121)))
(let ((e122 (! (> v3 e41) :named term122)))
(let ((e123 (! (= v2 e39) :named term123)))
(let ((e124 (! (>= v2 e41) :named term124)))
(let ((e125 (! (p0 e46 e47) :named term125)))
(let ((e126 (! (p0 e42 v1) :named term126)))
(let ((e127 (! (= e37 e38) :named term127)))
(let ((e128 (! (<= v1 e43) :named term128)))
(let ((e129 (! (>= e41 v0) :named term129)))
(let ((e130 (! (= e38 e38) :named term130)))
(let ((e131 (! (= e40 e44) :named term131)))
(let ((e132 (! (p0 e37 e44) :named term132)))
(let ((e133 (! (< e45 e38) :named term133)))
(let ((e134 (! (distinct v2 v0) :named term134)))
(let ((e135 (! (< e42 e40) :named term135)))
(let ((e136 (! (p0 e42 v3) :named term136)))
(let ((e137 (! (< v2 v0) :named term137)))
(let ((e138 (! (= v2 e38) :named term138)))
(let ((e139 (! (distinct e47 e44) :named term139)))
(let ((e140 (! (<= e42 e37) :named term140)))
(let ((e141 (! (= e115 e137) :named term141)))
(let ((e142 (! (ite e69 e29 e128) :named term142)))
(let ((e143 (! (or e123 e9) :named term143)))
(let ((e144 (! (not e81) :named term144)))
(let ((e145 (! (ite e15 e107 e76) :named term145)))
(let ((e146 (! (= e112 e90) :named term146)))
(let ((e147 (! (not e111) :named term147)))
(let ((e148 (! (or e54 e58) :named term148)))
(let ((e149 (! (or e95 e62) :named term149)))
(let ((e150 (! (or e130 e31) :named term150)))
(let ((e151 (! (and e108 e134) :named term151)))
(let ((e152 (! (and e87 e88) :named term152)))
(let ((e153 (! (= e26 e35) :named term153)))
(let ((e154 (! (xor e71 e129) :named term154)))
(let ((e155 (! (and e57 e23) :named term155)))
(let ((e156 (! (not e113) :named term156)))
(let ((e157 (! (=> e101 e147) :named term157)))
(let ((e158 (! (=> e97 e106) :named term158)))
(let ((e159 (! (ite e102 e157 e94) :named term159)))
(let ((e160 (! (= e28 e120) :named term160)))
(let ((e161 (! (or e104 e8) :named term161)))
(let ((e162 (! (xor e149 e121) :named term162)))
(let ((e163 (! (not e86) :named term163)))
(let ((e164 (! (or e142 e109) :named term164)))
(let ((e165 (! (=> e154 e61) :named term165)))
(let ((e166 (! (or e33 e124) :named term166)))
(let ((e167 (! (or e22 e55) :named term167)))
(let ((e168 (! (=> e162 e126) :named term168)))
(let ((e169 (! (=> e14 e132) :named term169)))
(let ((e170 (! (not e103) :named term170)))
(let ((e171 (! (= e140 e72) :named term171)))
(let ((e172 (! (=> e68 e155) :named term172)))
(let ((e173 (! (= e30 e119) :named term173)))
(let ((e174 (! (xor e166 e79) :named term174)))
(let ((e175 (! (or e127 e146) :named term175)))
(let ((e176 (! (xor e158 e36) :named term176)))
(let ((e177 (! (= e11 e80) :named term177)))
(let ((e178 (! (and e172 e177) :named term178)))
(let ((e179 (! (= e85 e144) :named term179)))
(let ((e180 (! (=> e21 e116) :named term180)))
(let ((e181 (! (not e51) :named term181)))
(let ((e182 (! (and e64 e171) :named term182)))
(let ((e183 (! (ite e159 e20 e143) :named term183)))
(let ((e184 (! (or e183 e139) :named term184)))
(let ((e185 (! (and e174 e138) :named term185)))
(let ((e186 (! (not e173) :named term186)))
(let ((e187 (! (=> e105 e163) :named term187)))
(let ((e188 (! (= e122 e164) :named term188)))
(let ((e189 (! (= e60 e56) :named term189)))
(let ((e190 (! (and e169 e25) :named term190)))
(let ((e191 (! (xor e12 e131) :named term191)))
(let ((e192 (! (or e99 e67) :named term192)))
(let ((e193 (! (=> e75 e100) :named term193)))
(let ((e194 (! (and e170 e53) :named term194)))
(let ((e195 (! (not e27) :named term195)))
(let ((e196 (! (xor e178 e50) :named term196)))
(let ((e197 (! (and e161 e141) :named term197)))
(let ((e198 (! (= e150 e77) :named term198)))
(let ((e199 (! (and e18 e152) :named term199)))
(let ((e200 (! (and e189 e89) :named term200)))
(let ((e201 (! (xor e32 e125) :named term201)))
(let ((e202 (! (xor e185 e135) :named term202)))
(let ((e203 (! (ite e63 e199 e98) :named term203)))
(let ((e204 (! (ite e78 e70 e73) :named term204)))
(let ((e205 (! (not e74) :named term205)))
(let ((e206 (! (=> e24 e136) :named term206)))
(let ((e207 (! (=> e10 e114) :named term207)))
(let ((e208 (! (or e193 e34) :named term208)))
(let ((e209 (! (not e194) :named term209)))
(let ((e210 (! (and e110 e204) :named term210)))
(let ((e211 (! (= e93 e186) :named term211)))
(let ((e212 (! (not e52) :named term212)))
(let ((e213 (! (not e59) :named term213)))
(let ((e214 (! (= e66 e82) :named term214)))
(let ((e215 (! (xor e180 e196) :named term215)))
(let ((e216 (! (or e188 e84) :named term216)))
(let ((e217 (! (= e197 e83) :named term217)))
(let ((e218 (! (xor e209 e200) :named term218)))
(let ((e219 (! (= e217 e156) :named term219)))
(let ((e220 (! (ite e207 e181 e96) :named term220)))
(let ((e221 (! (xor e215 e208) :named term221)))
(let ((e222 (! (ite e167 e203 e92) :named term222)))
(let ((e223 (! (= e201 e175) :named term223)))
(let ((e224 (! (xor e213 e13) :named term224)))
(let ((e225 (! (not e205) :named term225)))
(let ((e226 (! (not e184) :named term226)))
(let ((e227 (! (ite e220 e182 e133) :named term227)))
(let ((e228 (! (= e145 e212) :named term228)))
(let ((e229 (! (xor e216 e153) :named term229)))
(let ((e230 (! (= e117 e117) :named term230)))
(let ((e231 (! (and e230 e226) :named term231)))
(let ((e232 (! (ite e151 e221 e223) :named term232)))
(let ((e233 (! (=> e118 e231) :named term233)))
(let ((e234 (! (=> e148 e65) :named term234)))
(let ((e235 (! (=> e224 e190) :named term235)))
(let ((e236 (! (or e179 e227) :named term236)))
(let ((e237 (! (or e165 e225) :named term237)))
(let ((e238 (! (=> e222 e232) :named term238)))
(let ((e239 (! (=> e187 e206) :named term239)))
(let ((e240 (! (ite e238 e198 e211) :named term240)))
(let ((e241 (! (xor e218 e176) :named term241)))
(let ((e242 (! (not e219) :named term242)))
(let ((e243 (! (=> e49 e234) :named term243)))
(let ((e244 (! (ite e214 e214 e202) :named term244)))
(let ((e245 (! (xor e237 e239) :named term245)))
(let ((e246 (! (xor e19 e243) :named term246)))
(let ((e247 (! (or e168 e242) :named term247)))
(let ((e248 (! (and e160 e16) :named term248)))
(let ((e249 (! (xor e244 e240) :named term249)))
(let ((e250 (! (not e192) :named term250)))
(let ((e251 (! (not e235) :named term251)))
(let ((e252 (! (or e229 e91) :named term252)))
(let ((e253 (! (xor e228 e250) :named term253)))
(let ((e254 (! (ite e252 e252 e191) :named term254)))
(let ((e255 (! (=> e17 e246) :named term255)))
(let ((e256 (! (not e210) :named term256)))
(let ((e257 (! (and e241 e245) :named term257)))
(let ((e258 (! (= e251 e257) :named term258)))
(let ((e259 (! (or e256 e236) :named term259)))
(let ((e260 (! (= e48 e248) :named term260)))
(let ((e261 (! (= e247 e233) :named term261)))
(let ((e262 (! (or e259 e253) :named term262)))
(let ((e263 (! (xor e258 e249) :named term263)))
(let ((e264 (! (not e255) :named term264)))
(let ((e265 (! (not e254) :named term265)))
(let ((e266 (! (xor e264 e262) :named term266)))
(let ((e267 (! (=> e263 e195) :named term267)))
(let ((e268 (! (and e261 e261) :named term268)))
(let ((e269 (! (xor e268 e268) :named term269)))
(let ((e270 (! (=> e260 e266) :named term270)))
(let ((e271 (! (ite e270 e270 e265) :named term271)))
(let ((e272 (! (not e269) :named term272)))
(let ((e273 (! (not e267) :named term273)))
(let ((e274 (! (=> e272 e271) :named term274)))
(let ((e275 (! (not e274) :named term275)))
(let ((e276 (! (= e273 e275) :named term276)))
e276
))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))))

(check-sat)
(set-option :regular-output-channel "/dev/null")
(get-model)
(get-value (term5))
(get-value (term6))
(get-value (term7))
(get-value (term8))
(get-value (term9))
(get-value (term10))
(get-value (term11))
(get-value (term12))
(get-value (term13))
(get-value (term14))
(get-value (term15))
(get-value (term16))
(get-value (term17))
(get-value (term18))
(get-value (term19))
(get-value (term20))
(get-value (term21))
(get-value (term22))
(get-value (term23))
(get-value (term24))
(get-value (term25))
(get-value (term26))
(get-value (term27))
(get-value (term28))
(get-value (term29))
(get-value (term30))
(get-value (term31))
(get-value (term32))
(get-value (term33))
(get-value (term34))
(get-value (term35))
(get-value (term36))
(get-value (term37))
(get-value (term38))
(get-value (term39))
(get-value (term40))
(get-value (term41))
(get-value (term42))
(get-value (term43))
(get-value (term44))
(get-value (term45))
(get-value (term46))
(get-value (term47))
(get-value (term48))
(get-value (term49))
(get-value (term50))
(get-value (term51))
(get-value (term52))
(get-value (term53))
(get-value (term54))
(get-value (term55))
(get-value (term56))
(get-value (term57))
(get-value (term58))
(get-value (term59))
(get-value (term60))
(get-value (term61))
(get-value (term62))
(get-value (term63))
(get-value (term64))
(get-value (term65))
(get-value (term66))
(get-value (term67))
(get-value (term68))
(get-value (term69))
(get-value (term70))
(get-value (term71))
(get-value (term72))
(get-value (term73))
(get-value (term74))
(get-value (term75))
(get-value (term76))
(get-value (term77))
(get-value (term78))
(get-value (term79))
(get-value (term80))
(get-value (term81))
(get-value (term82))
(get-value (term83))
(get-value (term84))
(get-value (term85))
(get-value (term86))
(get-value (term87))
(get-value (term88))
(get-value (term89))
(get-value (term90))
(get-value (term91))
(get-value (term92))
(get-value (term93))
(get-value (term94))
(get-value (term95))
(get-value (term96))
(get-value (term97))
(get-value (term98))
(get-value (term99))
(get-value (term100))
(get-value (term101))
(get-value (term102))
(get-value (term103))
(get-value (term104))
(get-value (term105))
(get-value (term106))
(get-value (term107))
(get-value (term108))
(get-value (term109))
(get-value (term110))
(get-value (term111))
(get-value (term112))
(get-value (term113))
(get-value (term114))
(get-value (term115))
(get-value (term116))
(get-value (term117))
(get-value (term118))
(get-value (term119))
(get-value (term120))
(get-value (term121))
(get-value (term122))
(get-value (term123))
(get-value (term124))
(get-value (term125))
(get-value (term126))
(get-value (term127))
(get-value (term128))
(get-value (term129))
(get-value (term130))
(get-value (term131))
(get-value (term132))
(get-value (term133))
(get-value (term134))
(get-value (term135))
(get-value (term136))
(get-value (term137))
(get-value (term138))
(get-value (term139))
(get-value (term140))
(get-value (term141))
(get-value (term142))
(get-value (term143))
(get-value (term144))
(get-value (term145))
(get-value (term146))
(get-value (term147))
(get-value (term148))
(get-value (term149))
(get-value (term150))
(get-value (term151))
(get-value (term152))
(get-value (term153))
(get-value (term154))
(get-value (term155))
(get-value (term156))
(get-value (term157))
(get-value (term158))
(get-value (term159))
(get-value (term160))
(get-value (term161))
(get-value (term162))
(get-value (term163))
(get-value (term164))
(get-value (term165))
(get-value (term166))
(get-value (term167))
(get-value (term168))
(get-value (term169))
(get-value (term170))
(get-value (term171))
(get-value (term172))
(get-value (term173))
(get-value (term174))
(get-value (term175))
(get-value (term176))
(get-value (term177))
(get-value (term178))
(get-value (term179))
(get-value (term180))
(get-value (term181))
(get-value (term182))
(get-value (term183))
(get-value (term184))
(get-value (term185))
(get-value (term186))
(get-value (term187))
(get-value (term188))
(get-value (term189))
(get-value (term190))
(get-value (term191))
(get-value (term192))
(get-value (term193))
(get-value (term194))
(get-value (term195))
(get-value (term196))
(get-value (term197))
(get-value (term198))
(get-value (term199))
(get-value (term200))
(get-value (term201))
(get-value (term202))
(get-value (term203))
(get-value (term204))
(get-value (term205))
(get-value (term206))
(get-value (term207))
(get-value (term208))
(get-value (term209))
(get-value (term210))
(get-value (term211))
(get-value (term212))
(get-value (term213))
(get-value (term214))
(get-value (term215))
(get-value (term216))
(get-value (term217))
(get-value (term218))
(get-value (term219))
(get-value (term220))
(get-value (term221))
(get-value (term222))
(get-value (term223))
(get-value (term224))
(get-value (term225))
(get-value (term226))
(get-value (term227))
(get-value (term228))
(get-value (term229))
(get-value (term230))
(get-value (term231))
(get-value (term232))
(get-value (term233))
(get-value (term234))
(get-value (term235))
(get-value (term236))
(get-value (term237))
(get-value (term238))
(get-value (term239))
(get-value (term240))
(get-value (term241))
(get-value (term242))
(get-value (term243))
(get-value (term244))
(get-value (term245))
(get-value (term246))
(get-value (term247))
(get-value (term248))
(get-value (term249))
(get-value (term250))
(get-value (term251))
(get-value (term252))
(get-value (term253))
(get-value (term254))
(get-value (term255))
(get-value (term256))
(get-value (term257))
(get-value (term258))
(get-value (term259))
(get-value (term260))
(get-value (term261))
(get-value (term262))
(get-value (term263))
(get-value (term264))
(get-value (term265))
(get-value (term266))
(get-value (term267))
(get-value (term268))
(get-value (term269))
(get-value (term270))
(get-value (term271))
(get-value (term272))
(get-value (term273))
(get-value (term274))
(get-value (term275))
(get-value (term276))
(get-info :all-statistics)
